/**
 * Copyright(c) 2013 Jade Techonologies Co., Ltd.
 *
 * History:
 *   13-5-22 下午2:17 Created by dwzhang
 */
package com.jade.framework.base.net;

/**
 * 抽象的比较器。
 *
 * @author dwzhang
 * @version 1.0 13-5-22 下午2:17
 */
public abstract class AbstractMatcher
        implements IpMatcher
    {
        /**
         * 判断指定的地址是否匹配
         *
         * @param address IP地址，如果不是合法的IP地址(xxx.xxx.xxx.xxx)，返回<CODE>fasle</CODE>
         * @return 是否匹配
         */
        public boolean isMatch(String address)
        {
            return isMatch(IpUtils.toInts(address));
        }

        /**
         * 判断指定的地址是否匹配
         *
         * @param address 用一个整数表示的IP地址（适用于报文检查）
         */
        public boolean isMatch(int address)
        {
            return isMatch(IpUtils.toBytes(address));
        }

        /**
         * 判断指定的地址是否匹配
         *
         * @param address IP地址，长度必需为4或者16，否则返回<CODE>false</CODE>
         */
        public boolean isMatch(byte[] address)
        {
            return isMatch(IpUtils.toInts(address));
        }
    }
